package com.meilai.project.dto.business.intentionScheme;

import com.meilai.project.vo.business.installOrder.WorkerVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @author xchen
 * @since 2022-02-20
 */
@Data
@ApiModel
public class BuildingPointVO {

    @ApiModelProperty("楼盘id")
    private Long id;

    @ApiModelProperty("楼盘类型ID")
    private Long type_id;

    @ApiModelProperty("楼盘名称")
    private String name;

    @ApiModelProperty("楼盘地址")
    private String address;

    @ApiModelProperty("区")
    private String area;

    @ApiModelProperty("组合数量信息（获取详情时有值）")
    private List<ComboCountInfo> comboCountInfoList;

    @ApiModelProperty("点位类型对应的数量")
    private Map<Long, PointTypeCountVO> pointTypeCountVOMap;

    @ApiModelProperty("点位类型对应的数量List")
    private List<PointTypeCountVO> pointTypeCountVOList;
    @ApiModelProperty("纬度")
    private BigDecimal latitude;
    @ApiModelProperty("经度")
    private BigDecimal longitude;

    @ApiModelProperty(value = "工人集合")
    private List<WorkerVO> workers;

    @Data
    public static class ComboCountInfo {
        private Long comboId;
        private String comboName;
        private String code;
        private List<RuleCountInfo> ruleCountList;
    }

    @Data
    public static class RuleCountInfo {
        private Long ruleId;
        private String ruleName;
        private Integer count;
    }
}
